1. Field of the Invention
The present invention relates generally to Bluetooth® (hereinafter “Bluetooth”) communication, and in particular to a method and system for easily performing a bonding (or pairing) process for Bluetooth communication.
2. Description of the Related Art
Bluetooth is a standard for wireless connection between portable devices, such as a portable PC and a mobile phone, for short-range wireless communication at a low cost. Bluetooth-enabled digital devices can communicate and exchange voice and data between each other using a radio frequency of license-free Industrial, Scientific and Medical (ISM) radio bandwidth at 2.45 GHz. For example, Bluetooth technology implemented in a mobile phone and a laptop computer can wirelessly connect the two devices, eliminating the need for any physical cable connection. Actually all digital devices such as PDAs, desktops, facsimile machines, keyboards and joysticks can be part of a Bluetooth system.
FIG. 1 is a view illustrating devices connected for typical Bluetooth communication Bluetooth devices refer to digital devices having a built-in Bluetooth module and capable of Bluetooth communication. A user terminal 100 with a built-in Bluetooth module establishes a wireless connection with peripheral Bluetooth devices 110 to 150 and supports point-to-point and point-to-multipoint connections. After inquiring about Bluetooth devices in range, the user terminal 100 displays information on the detected Bluetooth devices 110 to 150. The user terminal 100 can request a connection to at least one of the detected Bluetooth devices. The user terminal 100 that has requested the connection acts as a master and the other connected devices as slaves for the duration of connection. The user terminal 100 will become a slave if any of the connected Bluetooth devices requests a connection to the user terminal 100.
However, such a connection between Bluetooth devices can have a security problem because the user terminal can establish a connection to other devices and transmit data whenever the user desires. In order to solve the security problem, a Bluetooth service generally has three security modes. Each Bluetooth device operates in one mode for a single duration of connection. The user can set the mode.
Mode 1 is a non-secure mode, which allows all connections by any device without any security procedures (e.g. authentication and encryption). Mode 1 is used in communication which does not require security protection. Mode 2 provides service-level enforced security, usually controlling access to the Bluetooth services and devices. Various security policies and trust levels can be defined on simultaneously operating applications to limit access to some services. Mode 3 provides link-level enforced security and requires security procedures, (i.e. authentication and encryption) based on a link key shared between the Bluetooth devices.
In order to exchange data between Bluetooth-enabled devices (for example, Bluetooth mobile phones) or make a call in walkie-talkie mode, a connection channel between the two devices should be established. For this connection, an authentication procedure, i.e. pairing between the two devices, is implemented. Simply, a master device requesting the connection should be in one of an inquiry scans state and a page scan state to inquire about nearby Bluetooth devices. When a desired device is displayed on a display screen, the master device can select and page the device for connection setup.
During the pairing procedure, the master device generates a Personal Identification Number (PIN) Code (window. When the user enters a PIN Code of the device desired to be connected, the master device attempts to establish a connection with the desired slave device. At this time, the same window requesting the input of the PIN Code is generated on the display screen of the slave device. When the user of the slave device enters the same PIN Code as entered into the master device, the two Bluetooth devices can exchange a link key using the entered PIN Code, Bluetooth device address (“BD_ADDR”) and random number (“RAND”).
The link key is offered to the two Bluetooth devices for use in the authentication procedure. The link key, however, should be unique to the connection between the two Bluetooth devices.
Upon establishing a connection channel between the two devices, a common link key allocated by the PIN Code is used for authentication. If no common link key is not available, a link manager automatically implements an initialization procedure to exchange a link key.
This procedure consists of the following steps:
1. Creation of an initialization key;
2. Generation of a link key;
3. Link key exchange;
4. Authentication; and
5. Generation of an encryption key in each device (optional).
The two Bluetooth devices can initiate a Bluetooth communication immediately after the initialization procedure. In certain cases, the connection between the two devices can be disconnected due to an error in any of the above steps. If encryption is requested for the Bluetooth communication, a Secure And Fast Encryption Routine (E0 SAFER)+ algorithm is implemented using a proper encryption key allocated by the link key. The E0 SAFER+ algorithm produces a 128-bit link key following the input of a PIN Code in Bluetooth devices.
As explained herein, multiple preparative steps including authentication for security are implemented for pairing before establishing the connection between the Bluetooth devices. Users of the Bluetooth devices have to wait until a successful connection setup without recognizing those steps. Also, messages transmitted wirelessly during the pairing procedure can often be lost. Consequently, the same messages should be resent repeatedly.